#ifndef EXCEPTION_H_
#define EXCEPTION_H_

#include <exception>

namespace gpyp {

class Exception : private std::exception {
private:
  std::string cause_;

public:
  inline virtual const char *what() const throw() {
    return cause_.c_str();
  }

  inline Exception(const std::string &cause) throw() :
    cause_(cause)
  {
  }
  inline Exception() throw() { }
  inline virtual ~Exception() throw() { }
};

}/*gpyp*/

#endif/*EXCEPTION_H_*/
